package com.tedu.bill;
/*
* 本类通过阶乘测试函数递归
* */
public class TestFactorial {
    public static void main(String[] args) {
        /*
        * int result = 1;
        for (int i = 1; i <= 10; i++) {
            result *= i;
        }
        * for实现数字的阶乘
        * */

        /*
        *
        * 8！ = 8* 7！
        *     7！ = 7 *6！
        *        6！ = 6 * 5！
        *            5！= 5 * 4！
        *                 4！= 4 * 3！
        *                     3！ = 3 *2！
        *                       2！ = 2* 1！
        *                          1！ = 1
        *   一个数字n的阶乘  n! = n * (n-1)!
        *
        * */
        //打印6的阶乘
        System.out.println( factorial(6) );
    }
    //函数做一个递归
    public static int factorial(int n){
        //判断出口条件
        if( n == 1 ) return 1;
        //递归调用
        return n * factorial(n-1);
    }


}
